htt[p]erl, simulador de web server
Publicado por Fábio Berbert de Paula 06/01/2003
[ Hits: 7.911 ]
Homepage: https://fabio.automatizando.dev
htt[p]erl é um script usado para simular um servidor web, muito bom para quem deseja entender melhor o protocolo de comunicação entre browser e servidor. O programa fica escutando na porta TCP 80 e envia uma página HTML padrão para o browser do usuário.
#!/usr/bin/perl # --------------------------------------------------------- # httperl.pl (htt[p]erl) # # Script em Perl usado para simular um servidor web, muito # bom para quem deseja entender melhor o protocolo de # comunicação entre browser e servidor # # # Programado por Fábio Berbert de Paula # <fabio@vivaolinux.com.br> # # Rio de Janeiro, 06 de Janeiro de 2003 # --------------------------------------------------------- $| = 1; # criar socket na porta 80 do servidor use IO::Socket; my $sock = new IO::Socket::INET ( LocalPort => '80', Type => SOCK_STREAM, Proto => 'tcp', Listen => 10 ); die "Não consegui iniciar o servidor: $!\n" unless $sock; print "Servidor iniciado ...\n"; # definir o cabeçalho de retorno básico my $retorno = " HTTP/1.1 200 OK Server: htt[p]erl/1.0 (GNU/Linux) Connection: close Content-Type: text/html <html> <body> Uma cortesia de <a href=\"http://www.vivaolinux.com.br\">Viva o Linux</a>. </body> </html> "; # aceitar conexões TCP while (my $new_sock = $sock->accept()) { while($linha = <$new_sock>) { # imprimir o cabeçalho recebido pelo browser do usuário print $linha; # se linha vazia, então o browser envio câmbio, vamos respondê-lo if ($linha!~/[A-Za-z0-9]/) { print $new_sock $retorno; # fechar conexão com o cliente $new_sock = ''; } } close(W); } close($sock);
Introdução a Persistência de Estrutura de Dados em Perl
Nenhum comentário foi encontrado.
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Problema para iniciar sistema (5)
Não consigo atualizar para LinuxMint 22 com o Mintupdate (1)
Meu notebook não reconhece monitor secundário (6)
Instalação da Imagem ISO do Tails (7)
erro nos dos pacotes de driver da placa de video nvidia por remoção (d... (18)